$(function() {
	initBlockUI();
	initPanelFloatStatus();
	// initOlControler();
	initHelpXml();
});

// 初始化切换面板的浮动状态
function initPanelFloatStatus()
{
	$("a.toggle_fixed_relative").tooltip({
		delay: 0,
		showURL: false,
		bodyHandler: function() { return $("<div></div>").html($(this).attr("linktitle")); }
	});
	$("a.toggle_fixed_relative").toggle(
		function() { $("div.fixed_block").css({position: "relative", top: "0"}); },
		function() { $("div.fixed_block").css({position: "fixed", top: "80px"}); }
	);
}

// 初始化 ol 标签控制柄
function initOlControler()
{
	$("a.ol_controler").click(function() {
		$(this).next().toggle();
		return false;
	});
}

// 初始化生成帮助文档
function initHelpXml()
{
	var helpname = $G("helpname");
	if ($.trim(helpname) != "")
	{
		var url = "xmls/" + helpname + ".xml";
		$.post(url, function(xml) {
			var tmp = abstractHelpData(xml, 1);
			$("#fixed_block_content_list").html(tmp[0]);
			$("#float_block_content").html(tmp[1]);
			initOlControler();
		});
	}
	else
	{
		alert("无数据传入！");
	}
}

// 从帮助 XML 文档中提取数据生成帮助文档的链接和内容的 jQuery 对象
function abstractHelpData(obj, l)
{
	var lb = $("<ol></ol>").addClass("help_list_level_" + l);
	var cb = $("<div></div>");
	
	$("help_" + l, obj).each(function(i) {
		var id				= $("id_" + l, this).text();
		var title				= $("title_" + l, this).text().unescapeString();
		var content			= $("content_" + l, this).text().unescapeString();
		var children_num		= $("children_" + l, this).find("help_" + (l + 1)).size();
		if (children_num == 0)
		{
			lb.append($("<li></li>").append($("<a></a>").attr("href", "#help_" + id).html(title)));
			cb.append($("<div></div>")
				.append($("<h3></h3>").attr("id", "help_" + id).addClass("help_content_level_" + l).html(title))
				.append($("<div></div>").html(content))
				.append($("<div></div>").addClass("divclear"))
			);
		}
		else
		{
			var hdTmp = abstractHelpData($("children_" + l, this), (l + 1));
			lb.append($("<li></li>")
				.append($("<a></a>").attr("href", "#").addClass("ol_controler").html(title))
				.append(hdTmp[0])
			);
			cb.append($("<div></div>")
				.append($("<h3></h3>").attr("id", "help_" + id).addClass("help_content_level_" + l).html(title))
				.append($("<div></div>").html(content))
				.append($("<div></div>").addClass("divclear"))
			).append(hdTmp[1]);
		}
	});
	
	return [lb, cb];
}

